# SPDX-License-Identifier: Apache-2.0

zephyr_syscall_header(${ZEPHYR_BASE}/include/zephyr/drivers/pwm.h)

zephyr_library()

zephyr_library_sources_ifdef(CONFIG_PWM_TELINK_B91	pwm_b91.c)
zephyr_library_sources_ifdef(CONFIG_PWM_CC13XX_CC26XX_TIMER pwm_cc13xx_cc26xx_timer.c)
zephyr_library_sources_ifdef(CONFIG_PWM_CC23X0_TIMER	pwm_cc23x0_timer.c)
zephyr_library_sources_ifdef(CONFIG_PWM_STM32		pwm_stm32.c)
zephyr_library_sources_ifdef(CONFIG_PWM_SIFIVE		pwm_sifive.c)
zephyr_library_sources_ifdef(CONFIG_PWM_NRF_SW		pwm_nrf_sw.c)
zephyr_library_sources_ifdef(CONFIG_PWM_NRFX		pwm_nrfx.c)
zephyr_library_sources_ifdef(CONFIG_PWM_MCUX_FTM 	pwm_mcux_ftm.c)
zephyr_library_sources_ifdef(CONFIG_PWM_IMX		pwm_imx.c)
zephyr_library_sources_ifdef(CONFIG_PWM_ITE_IT51XXX	pwm_ite_it51xxx.c)
zephyr_library_sources_ifdef(CONFIG_PWM_ITE_IT8XXX2	pwm_ite_it8xxx2.c)
zephyr_library_sources_ifdef(CONFIG_PWM_ITE_IT8801	pwm_ite_it8801.c)
zephyr_library_sources_ifdef(CONFIG_PWM_LED_ESP32	pwm_led_esp32.c)
zephyr_library_sources_ifdef(CONFIG_MCPWM_ESP32		pwm_mc_esp32.c)
zephyr_library_sources_ifdef(CONFIG_PWM_SAM		pwm_sam.c)
zephyr_library_sources_ifdef(CONFIG_PWM_MCUX		pwm_mcux.c)
zephyr_library_sources_ifdef(CONFIG_PWM_MCUX_SCTIMER	pwm_mcux_sctimer.c)
zephyr_library_sources_ifdef(CONFIG_PWM_MCUX_QTMR	pwm_mcux_qtmr.c)
zephyr_library_sources_ifdef(CONFIG_PWM_XEC		pwm_mchp_xec.c)
zephyr_library_sources_ifdef(CONFIG_PWM_LITEX		pwm_litex.c)
zephyr_library_sources_ifdef(CONFIG_PWM_RV32M1_TPM	pwm_rv32m1_tpm.c)
zephyr_library_sources_ifdef(CONFIG_PWM_MAX32		pwm_max32.c)
zephyr_library_sources_ifdef(CONFIG_PWM_MCUX_TPM	pwm_mcux_tpm.c)
zephyr_library_sources_ifdef(CONFIG_PWM_SAM0_TCC	pwm_sam0_tcc.c)
zephyr_library_sources_ifdef(CONFIG_PWM_SAM0_TC		pwm_sam0_tc.c)
zephyr_library_sources_ifdef(CONFIG_PWM_NPCX		pwm_npcx.c)
zephyr_library_sources_ifdef(CONFIG_PWM_XLNX_AXI_TIMER	pwm_xlnx_axi_timer.c)
zephyr_library_sources_ifdef(CONFIG_PWM_MCUX_PWT 	pwm_mcux_pwt.c)
zephyr_library_sources_ifdef(CONFIG_PWM_GECKO		pwm_gecko.c)
zephyr_library_sources_ifdef(CONFIG_PWM_SILABS_LETIMER	pwm_silabs_letimer.c)
zephyr_library_sources_ifdef(CONFIG_PWM_SILABS_TIMER	pwm_silabs_timer.c)
zephyr_library_sources_ifdef(CONFIG_PWM_SILABS_SIWX91X	pwm_silabs_siwx91x.c)
zephyr_library_sources_ifdef(CONFIG_PWM_GD32		pwm_gd32.c)
zephyr_library_sources_ifdef(CONFIG_PWM_RCAR		pwm_rcar.c)
zephyr_library_sources_ifdef(CONFIG_PWM_PCA9685 	pwm_pca9685.c)
zephyr_library_sources_ifdef(CONFIG_PWM_MAX31790 	pwm_max31790.c)
zephyr_library_sources_ifdef(CONFIG_PWM_TEST		pwm_test.c)
zephyr_library_sources_ifdef(CONFIG_PWM_RPI_PICO	pwm_rpi_pico.c)
zephyr_library_sources_ifdef(CONFIG_PWM_BBLED_XEC	pwm_mchp_xec_bbled.c)
zephyr_library_sources_ifdef(CONFIG_PWM_INTEL_BLINKY	pwm_intel_blinky.c)
zephyr_library_sources_ifdef(CONFIG_PWM_XMC4XXX_CCU4	pwm_xmc4xxx_ccu4.c)
zephyr_library_sources_ifdef(CONFIG_PWM_XMC4XXX_CCU8	pwm_xmc4xxx_ccu8.c)
zephyr_library_sources_ifdef(CONFIG_PWM_MCUX_CTIMER	pwm_mcux_ctimer.c)
zephyr_library_sources_ifdef(CONFIG_PWM_MSPM0		pwm_mspm0.c)
zephyr_library_sources_ifdef(CONFIG_PWM_NUMAKER		pwm_numaker.c)
zephyr_library_sources_ifdef(CONFIG_PWM_NXP_FLEXIO	pwm_nxp_flexio.c)
zephyr_library_sources_ifdef(CONFIG_PWM_NXP_S32_EMIOS pwm_nxp_s32_emios.c)
zephyr_library_sources_ifdef(CONFIG_PWM_ENE_KB106X	pwm_ene_kb106x.c)
zephyr_library_sources_ifdef(CONFIG_PWM_ENE_KB1200	pwm_ene_kb1200.c)
zephyr_library_sources_ifdef(CONFIG_PWM_RENESAS_RA	pwm_renesas_ra.c)
zephyr_library_sources_ifdef(CONFIG_PWM_RENESAS_RX_MTU	pwm_renesas_rx_mtu.c)
zephyr_library_sources_ifdef(CONFIG_PWM_INFINEON_CAT1	pwm_ifx_cat1.c)
zephyr_library_sources_ifdef(CONFIG_PWM_FAKE	pwm_fake.c)
zephyr_library_sources_ifdef(CONFIG_PWM_RENESAS_RZ_GPT	pwm_renesas_rz_gpt.c)
zephyr_library_sources_ifdef(CONFIG_PWM_RENESAS_RZ_MTU	pwm_renesas_rz_mtu.c)
zephyr_library_sources_ifdef(CONFIG_PWM_NEORV32	pwm_neorv32.c)
zephyr_library_sources_ifdef(CONFIG_PWM_WCH_GPTM        pwm_wch_gptm.c)
zephyr_library_sources_ifdef(CONFIG_PWM_AMBIQ_TIMER   pwm_ambiq_timer.c)
zephyr_library_sources_ifdef(CONFIG_PWM_AMBIQ_CTIMER   pwm_ambiq_ctimer.c)

zephyr_library_sources_ifdef(CONFIG_USERSPACE   pwm_handlers.c)
zephyr_library_sources_ifdef(CONFIG_PWM_CAPTURE pwm_capture.c)
zephyr_library_sources_ifdef(CONFIG_PWM_SHELL   pwm_shell.c)
zephyr_library_sources_ifdef(CONFIG_PWM_REALTEK_RTS5912 pwm_realtek_rts5912.c)
